package com.alm.handle.service;

import com.alm.common.core.domain.AjaxResult;
import com.alm.entity.PasingByteModel;
import com.alm.handle.core.domain.entity.AlmDevException;
import com.alm.handle.core.domain.entity.rq.DevExEditRq;
import com.alm.handle.core.domain.entity.rq.DevExQueryRq;
import com.alm.handle.core.domain.entity.vo.DevExVo;

import java.io.IOException;
import java.util.List;

/**
 * 设备异常信息服务类接口
 *
 * @author: 詹泽峰
 * @date: 2024/7/24 17:20
 */
public interface ISysDevExceptionService {

    /**
     * 更新异常信息
     *
     * @author: 詹泽峰
     * @date: 2024/7/24 17:21
     */
    void updateDevExceptionInfo(PasingByteModel.Header header) throws IOException;

    /**
     * 返回异常统计列表
     *
     * @author: 詹泽峰
     * @date: 2024/7/30 14:17
     */
    AjaxResult getDevExList();

    /**
     * 查询异常列表（带条件）
     *
     * @param rq 查询条件
     * @return java.util.List<com.alm.handle.core.domain.entity.vo.DevExVo> 异常列表
     * @author: 詹泽峰
     * @date: 2024/8/5 14:35
     */
    List<AlmDevException> getListByRq(DevExQueryRq rq);

    /**
     * 返回该mac地址对应设备的未查看过的异常列表
     *
     * @author: 詹泽峰
     * @date: 2024/7/30 14:17
     */
    AjaxResult getDevExNotViewedByMac(DevExQueryRq rq);

    /**
     * 修改未读状态为已读状态
     *
     * @author: 詹泽峰
     * @date: 2024/8/1 11:00
     */
    int updateDevExIsViewed(DevExEditRq rq);
}
